#ifndef __MPUIIC_H
#define __MPUIIC_H
#include "sys.h"
	  
#define  IIC_GROUP   	RCC_APB2Periph_GPIOB
#define	 IIC_SCL_PIN    GPIO_Pin_3
#define	 IIC_SDA_PIN    GPIO_Pin_4

//IO方向设置
#define SDA_IN()  {GPIOB->CRL &= 0XFFF0FFFF; GPIOB->CRL |= 8 << 16;}  // PB4在CRL寄存器的低16位
#define SDA_OUT() {GPIOB->CRL &= 0XFFF0FFFF; GPIOB->CRL |= 3 << 16;}  // PB4在CRL寄存器的低16位

//IO操作函数	 
#define IIC_SCL    PBout(3) 		//SCL
#define IIC_SDA    PBout(4) 		//SDA
#define READ_SDA   PBin(4) 		//输入SDA 

//IIC所有操作函数
void IIC_Delay(void);				//MPU IIC延时函数
void IIC_Init(void);                //初始化IIC的IO口				 
void IIC_Start(void);				//发送IIC开始信号
void IIC_Stop(void);	  			//发送IIC停止信号
void IIC_Send_Byte(u8 txd);			//IIC发送一个字节
u8 IIC_Read_Byte(unsigned char ack);//IIC读取一个字节
u8 IIC_Wait_Ack(void); 				//IIC等待ACK信号
void IIC_Ack(void);					//IIC发送ACK信号
void IIC_NAck(void);				//IIC不发送ACK信号

#endif

